(0) Obligation:

Clauses:

goal(A, B, C) :- ','(s2t(A, T), tapplast(T, B, C)).
tapplast(L, X, Last) :- ','(tappend(L, node(nil, X, nil), LX), tlast(Last, LX)).
tlast(X, node(nil, X, nil)).
tlast(X, node(L, H, R)) :- tlast(X, L).
tlast(X, node(L, H, R)) :- tlast(X, R).
tappend(nil, T, T).
tappend(node(nil, X, T2), T1, node(T1, X, T2)).
tappend(node(T1, X, nil), T2, node(T1, X, T2)).
tappend(node(T1, X, T2), T3, node(U, X, T2)) :- tappend(T1, T3, U).
tappend(node(T1, X, T2), T3, node(T1, X, U)) :- tappend(T2, T3, U).
s2t(s(X), node(T, Y, T)) :- s2t(X, T).
s2t(s(X), node(nil, Y, T)) :- s2t(X, T).
s2t(s(X), node(T, Y, nil)) :- s2t(X, T).
s2t(s(X), node(nil, Y, nil)).
s2t(0, nil).

Query: goal(g,a,a)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

s2tA(s(T27), node(X66, X67, X66)) :- s2tA(T27, X66).
s2tA(s(T33), node(nil, X96, X97)) :- s2tA(T33, X97).
s2tA(s(T39), node(X126, X127, nil)) :- s2tA(T39, X126).
s2tA(s(T45), node(nil, X147, nil)).
s2tA(0, nil).
tappendB(nil, T108, node(nil, T108, nil)).
tappendB(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)).
tappendB(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))).
tappendB(node(T159, T156, T157), T160, node(X319, T156, T157)) :- tappendB(T159, T160, X319).
tappendB(node(T171, T172, T175), T176, node(T171, T172, X339)) :- tappendB(T175, T176, X339).
tlastC(T199, node(nil, T199, nil)).
tlastC(T220, node(T221, T218, T219)) :- tlastC(T220, T221).
tlastC(T236, node(T233, T234, T237)) :- tlastC(T236, T237).
pD(T61, X168, T62, X167, T63) :- tappendE(T61, X168, T62, X167).
pD(T61, T64, T62, T65, T66) :- ','(tappendE(T61, T64, T62, T65), tlastC(T66, T65)).
tappendE(nil, X193, T71, node(node(nil, T71, nil), X193, nil)).
tappendE(nil, X213, T81, node(nil, X213, node(nil, T81, nil))).
tappendE(T100, X251, T101, node(X252, X251, T100)) :- tappendB(T100, T101, X252).
tappendE(T189, X363, T190, node(T189, X363, X364)) :- tappendB(T189, T190, X364).
goalF(s(T19), T13, T14) :- s2tA(T19, X31).
goalF(s(T19), T62, T63) :- ','(s2tA(T19, T61), pD(T61, X168, T62, X167, T63)).
goalF(s(T244), T13, T14) :- s2tA(T244, X434).
goalF(s(T244), T264, T265) :- ','(s2tA(T244, T263), tappendB(node(nil, X465, T263), T264, X464)).
goalF(s(T244), T264, T268) :- ','(s2tA(T244, T263), ','(tappendB(node(nil, T266, T263), T264, T267), tlastC(T268, T267))).
goalF(s(T275), T13, T14) :- s2tA(T275, X495).
goalF(s(T275), T295, T296) :- ','(s2tA(T275, T294), tappendB(node(T294, X527, nil), T295, X526)).
goalF(s(T275), T295, T299) :- ','(s2tA(T275, T294), ','(tappendB(node(T294, T297, nil), T295, T298), tlastC(T299, T298))).
goalF(s(T306), T317, T318) :- pD(nil, X569, T317, X568, T318).
goalF(0, T331, T332) :- tappendB(nil, T331, X588).
goalF(0, T331, T336) :- ','(tappendB(nil, T331, T335), tlastC(T336, T335)).

Query: goalF(g,a,a)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
goalF_in: (b,f,f)
s2tA_in: (b,f)
pD_in: (b,f,f,f,f)
tappendE_in: (b,f,f,f)
tappendB_in: (b,f,f)
tlastC_in: (f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

GOALF_IN_GAA(s(T19), T13, T14) → U13_GAA(T19, T13, T14, s2tA_in_ga(T19, X31))
GOALF_IN_GAA(s(T19), T13, T14) → S2TA_IN_GA(T19, X31)
S2TA_IN_GA(s(T27), node(X66, X67, X66)) → U1_GA(T27, X66, X67, s2tA_in_ga(T27, X66))
S2TA_IN_GA(s(T27), node(X66, X67, X66)) → S2TA_IN_GA(T27, X66)
S2TA_IN_GA(s(T33), node(nil, X96, X97)) → U2_GA(T33, X96, X97, s2tA_in_ga(T33, X97))
S2TA_IN_GA(s(T33), node(nil, X96, X97)) → S2TA_IN_GA(T33, X97)
S2TA_IN_GA(s(T39), node(X126, X127, nil)) → U3_GA(T39, X126, X127, s2tA_in_ga(T39, X126))
S2TA_IN_GA(s(T39), node(X126, X127, nil)) → S2TA_IN_GA(T39, X126)
GOALF_IN_GAA(s(T19), T62, T63) → U14_GAA(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_GAA(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_GAA(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
U14_GAA(T19, T62, T63, s2tA_out_ga(T19, T61)) → PD_IN_GAAAA(T61, X168, T62, X167, T63)
PD_IN_GAAAA(T61, X168, T62, X167, T63) → U8_GAAAA(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
PD_IN_GAAAA(T61, X168, T62, X167, T63) → TAPPENDE_IN_GAAA(T61, X168, T62, X167)
TAPPENDE_IN_GAAA(T100, X251, T101, node(X252, X251, T100)) → U11_GAAA(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
TAPPENDE_IN_GAAA(T100, X251, T101, node(X252, X251, T100)) → TAPPENDB_IN_GAA(T100, T101, X252)
TAPPENDB_IN_GAA(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_GAA(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
TAPPENDB_IN_GAA(node(T159, T156, T157), T160, node(X319, T156, T157)) → TAPPENDB_IN_GAA(T159, T160, X319)
TAPPENDB_IN_GAA(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_GAA(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
TAPPENDB_IN_GAA(node(T171, T172, T175), T176, node(T171, T172, X339)) → TAPPENDB_IN_GAA(T175, T176, X339)
TAPPENDE_IN_GAAA(T189, X363, T190, node(T189, X363, X364)) → U12_GAAA(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
TAPPENDE_IN_GAAA(T189, X363, T190, node(T189, X363, X364)) → TAPPENDB_IN_GAA(T189, T190, X364)
PD_IN_GAAAA(T61, T64, T62, T65, T66) → U9_GAAAA(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_GAAAA(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_GAAAA(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
U9_GAAAA(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → TLASTC_IN_AG(T66, T65)
TLASTC_IN_AG(T220, node(T221, T218, T219)) → U6_AG(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
TLASTC_IN_AG(T220, node(T221, T218, T219)) → TLASTC_IN_AG(T220, T221)
TLASTC_IN_AG(T236, node(T233, T234, T237)) → U7_AG(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
TLASTC_IN_AG(T236, node(T233, T234, T237)) → TLASTC_IN_AG(T236, T237)
GOALF_IN_GAA(s(T244), T13, T14) → U16_GAA(T244, T13, T14, s2tA_in_ga(T244, X434))
GOALF_IN_GAA(s(T244), T264, T265) → U17_GAA(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_GAA(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_GAA(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U17_GAA(T244, T264, T265, s2tA_out_ga(T244, T263)) → TAPPENDB_IN_GAA(node(nil, X465, T263), T264, X464)
GOALF_IN_GAA(s(T244), T264, T268) → U19_GAA(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_GAA(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_GAA(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U19_GAA(T244, T264, T268, s2tA_out_ga(T244, T263)) → TAPPENDB_IN_GAA(node(nil, T266, T263), T264, T267)
U20_GAA(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_GAA(T244, T264, T268, tlastC_in_ag(T268, T267))
U20_GAA(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → TLASTC_IN_AG(T268, T267)
GOALF_IN_GAA(s(T275), T13, T14) → U22_GAA(T275, T13, T14, s2tA_in_ga(T275, X495))
GOALF_IN_GAA(s(T275), T295, T296) → U23_GAA(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_GAA(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_GAA(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U23_GAA(T275, T295, T296, s2tA_out_ga(T275, T294)) → TAPPENDB_IN_GAA(node(T294, X527, nil), T295, X526)
GOALF_IN_GAA(s(T275), T295, T299) → U25_GAA(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_GAA(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_GAA(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U25_GAA(T275, T295, T299, s2tA_out_ga(T275, T294)) → TAPPENDB_IN_GAA(node(T294, T297, nil), T295, T298)
U26_GAA(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_GAA(T275, T295, T299, tlastC_in_ag(T299, T298))
U26_GAA(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → TLASTC_IN_AG(T299, T298)
GOALF_IN_GAA(s(T306), T317, T318) → U28_GAA(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
GOALF_IN_GAA(s(T306), T317, T318) → PD_IN_GAAAA(nil, X569, T317, X568, T318)
GOALF_IN_GAA(0, T331, T332) → U29_GAA(T331, T332, tappendB_in_gaa(nil, T331, X588))
GOALF_IN_GAA(0, T331, T332) → TAPPENDB_IN_GAA(nil, T331, X588)
GOALF_IN_GAA(0, T331, T336) → U30_GAA(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_GAA(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_GAA(T331, T336, tlastC_in_ag(T336, T335))
U30_GAA(T331, T336, tappendB_out_gaa(nil, T331, T335)) → TLASTC_IN_AG(T336, T335)

The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
GOALF_IN_GAA(x1, x2, x3)  =  GOALF_IN_GAA(x1)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
S2TA_IN_GA(x1, x2)  =  S2TA_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x4)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
PD_IN_GAAAA(x1, x2, x3, x4, x5)  =  PD_IN_GAAAA(x1)
U8_GAAAA(x1, x2, x3, x4, x5, x6)  =  U8_GAAAA(x6)
TAPPENDE_IN_GAAA(x1, x2, x3, x4)  =  TAPPENDE_IN_GAAA(x1)
U11_GAAA(x1, x2, x3, x4, x5)  =  U11_GAAA(x1, x5)
TAPPENDB_IN_GAA(x1, x2, x3)  =  TAPPENDB_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6)  =  U4_GAA(x3, x6)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x6)
U12_GAAA(x1, x2, x3, x4, x5)  =  U12_GAAA(x1, x5)
U9_GAAAA(x1, x2, x3, x4, x5, x6)  =  U9_GAAAA(x6)
U10_GAAAA(x1, x2, x3, x4, x5, x6)  =  U10_GAAAA(x4, x6)
TLASTC_IN_AG(x1, x2)  =  TLASTC_IN_AG(x2)
U6_AG(x1, x2, x3, x4, x5)  =  U6_AG(x5)
U7_AG(x1, x2, x3, x4, x5)  =  U7_AG(x5)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x4)
U20_GAA(x1, x2, x3, x4)  =  U20_GAA(x4)
U21_GAA(x1, x2, x3, x4)  =  U21_GAA(x4)
U22_GAA(x1, x2, x3, x4)  =  U22_GAA(x4)
U23_GAA(x1, x2, x3, x4)  =  U23_GAA(x4)
U24_GAA(x1, x2, x3, x4)  =  U24_GAA(x4)
U25_GAA(x1, x2, x3, x4)  =  U25_GAA(x4)
U26_GAA(x1, x2, x3, x4)  =  U26_GAA(x4)
U27_GAA(x1, x2, x3, x4)  =  U27_GAA(x4)
U28_GAA(x1, x2, x3, x4)  =  U28_GAA(x4)
U29_GAA(x1, x2, x3)  =  U29_GAA(x3)
U30_GAA(x1, x2, x3)  =  U30_GAA(x3)
U31_GAA(x1, x2, x3)  =  U31_GAA(x3)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

GOALF_IN_GAA(s(T19), T13, T14) → U13_GAA(T19, T13, T14, s2tA_in_ga(T19, X31))
GOALF_IN_GAA(s(T19), T13, T14) → S2TA_IN_GA(T19, X31)
S2TA_IN_GA(s(T27), node(X66, X67, X66)) → U1_GA(T27, X66, X67, s2tA_in_ga(T27, X66))
S2TA_IN_GA(s(T27), node(X66, X67, X66)) → S2TA_IN_GA(T27, X66)
S2TA_IN_GA(s(T33), node(nil, X96, X97)) → U2_GA(T33, X96, X97, s2tA_in_ga(T33, X97))
S2TA_IN_GA(s(T33), node(nil, X96, X97)) → S2TA_IN_GA(T33, X97)
S2TA_IN_GA(s(T39), node(X126, X127, nil)) → U3_GA(T39, X126, X127, s2tA_in_ga(T39, X126))
S2TA_IN_GA(s(T39), node(X126, X127, nil)) → S2TA_IN_GA(T39, X126)
GOALF_IN_GAA(s(T19), T62, T63) → U14_GAA(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_GAA(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_GAA(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
U14_GAA(T19, T62, T63, s2tA_out_ga(T19, T61)) → PD_IN_GAAAA(T61, X168, T62, X167, T63)
PD_IN_GAAAA(T61, X168, T62, X167, T63) → U8_GAAAA(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
PD_IN_GAAAA(T61, X168, T62, X167, T63) → TAPPENDE_IN_GAAA(T61, X168, T62, X167)
TAPPENDE_IN_GAAA(T100, X251, T101, node(X252, X251, T100)) → U11_GAAA(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
TAPPENDE_IN_GAAA(T100, X251, T101, node(X252, X251, T100)) → TAPPENDB_IN_GAA(T100, T101, X252)
TAPPENDB_IN_GAA(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_GAA(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
TAPPENDB_IN_GAA(node(T159, T156, T157), T160, node(X319, T156, T157)) → TAPPENDB_IN_GAA(T159, T160, X319)
TAPPENDB_IN_GAA(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_GAA(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
TAPPENDB_IN_GAA(node(T171, T172, T175), T176, node(T171, T172, X339)) → TAPPENDB_IN_GAA(T175, T176, X339)
TAPPENDE_IN_GAAA(T189, X363, T190, node(T189, X363, X364)) → U12_GAAA(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
TAPPENDE_IN_GAAA(T189, X363, T190, node(T189, X363, X364)) → TAPPENDB_IN_GAA(T189, T190, X364)
PD_IN_GAAAA(T61, T64, T62, T65, T66) → U9_GAAAA(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_GAAAA(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_GAAAA(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
U9_GAAAA(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → TLASTC_IN_AG(T66, T65)
TLASTC_IN_AG(T220, node(T221, T218, T219)) → U6_AG(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
TLASTC_IN_AG(T220, node(T221, T218, T219)) → TLASTC_IN_AG(T220, T221)
TLASTC_IN_AG(T236, node(T233, T234, T237)) → U7_AG(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
TLASTC_IN_AG(T236, node(T233, T234, T237)) → TLASTC_IN_AG(T236, T237)
GOALF_IN_GAA(s(T244), T13, T14) → U16_GAA(T244, T13, T14, s2tA_in_ga(T244, X434))
GOALF_IN_GAA(s(T244), T264, T265) → U17_GAA(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_GAA(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_GAA(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U17_GAA(T244, T264, T265, s2tA_out_ga(T244, T263)) → TAPPENDB_IN_GAA(node(nil, X465, T263), T264, X464)
GOALF_IN_GAA(s(T244), T264, T268) → U19_GAA(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_GAA(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_GAA(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U19_GAA(T244, T264, T268, s2tA_out_ga(T244, T263)) → TAPPENDB_IN_GAA(node(nil, T266, T263), T264, T267)
U20_GAA(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_GAA(T244, T264, T268, tlastC_in_ag(T268, T267))
U20_GAA(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → TLASTC_IN_AG(T268, T267)
GOALF_IN_GAA(s(T275), T13, T14) → U22_GAA(T275, T13, T14, s2tA_in_ga(T275, X495))
GOALF_IN_GAA(s(T275), T295, T296) → U23_GAA(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_GAA(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_GAA(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U23_GAA(T275, T295, T296, s2tA_out_ga(T275, T294)) → TAPPENDB_IN_GAA(node(T294, X527, nil), T295, X526)
GOALF_IN_GAA(s(T275), T295, T299) → U25_GAA(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_GAA(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_GAA(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U25_GAA(T275, T295, T299, s2tA_out_ga(T275, T294)) → TAPPENDB_IN_GAA(node(T294, T297, nil), T295, T298)
U26_GAA(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_GAA(T275, T295, T299, tlastC_in_ag(T299, T298))
U26_GAA(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → TLASTC_IN_AG(T299, T298)
GOALF_IN_GAA(s(T306), T317, T318) → U28_GAA(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
GOALF_IN_GAA(s(T306), T317, T318) → PD_IN_GAAAA(nil, X569, T317, X568, T318)
GOALF_IN_GAA(0, T331, T332) → U29_GAA(T331, T332, tappendB_in_gaa(nil, T331, X588))
GOALF_IN_GAA(0, T331, T332) → TAPPENDB_IN_GAA(nil, T331, X588)
GOALF_IN_GAA(0, T331, T336) → U30_GAA(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_GAA(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_GAA(T331, T336, tlastC_in_ag(T336, T335))
U30_GAA(T331, T336, tappendB_out_gaa(nil, T331, T335)) → TLASTC_IN_AG(T336, T335)

The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
GOALF_IN_GAA(x1, x2, x3)  =  GOALF_IN_GAA(x1)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
S2TA_IN_GA(x1, x2)  =  S2TA_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x4)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
PD_IN_GAAAA(x1, x2, x3, x4, x5)  =  PD_IN_GAAAA(x1)
U8_GAAAA(x1, x2, x3, x4, x5, x6)  =  U8_GAAAA(x6)
TAPPENDE_IN_GAAA(x1, x2, x3, x4)  =  TAPPENDE_IN_GAAA(x1)
U11_GAAA(x1, x2, x3, x4, x5)  =  U11_GAAA(x1, x5)
TAPPENDB_IN_GAA(x1, x2, x3)  =  TAPPENDB_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6)  =  U4_GAA(x3, x6)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x6)
U12_GAAA(x1, x2, x3, x4, x5)  =  U12_GAAA(x1, x5)
U9_GAAAA(x1, x2, x3, x4, x5, x6)  =  U9_GAAAA(x6)
U10_GAAAA(x1, x2, x3, x4, x5, x6)  =  U10_GAAAA(x4, x6)
TLASTC_IN_AG(x1, x2)  =  TLASTC_IN_AG(x2)
U6_AG(x1, x2, x3, x4, x5)  =  U6_AG(x5)
U7_AG(x1, x2, x3, x4, x5)  =  U7_AG(x5)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x4)
U20_GAA(x1, x2, x3, x4)  =  U20_GAA(x4)
U21_GAA(x1, x2, x3, x4)  =  U21_GAA(x4)
U22_GAA(x1, x2, x3, x4)  =  U22_GAA(x4)
U23_GAA(x1, x2, x3, x4)  =  U23_GAA(x4)
U24_GAA(x1, x2, x3, x4)  =  U24_GAA(x4)
U25_GAA(x1, x2, x3, x4)  =  U25_GAA(x4)
U26_GAA(x1, x2, x3, x4)  =  U26_GAA(x4)
U27_GAA(x1, x2, x3, x4)  =  U27_GAA(x4)
U28_GAA(x1, x2, x3, x4)  =  U28_GAA(x4)
U29_GAA(x1, x2, x3)  =  U29_GAA(x3)
U30_GAA(x1, x2, x3)  =  U30_GAA(x3)
U31_GAA(x1, x2, x3)  =  U31_GAA(x3)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 46 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TLASTC_IN_AG(T236, node(T233, T234, T237)) → TLASTC_IN_AG(T236, T237)
TLASTC_IN_AG(T220, node(T221, T218, T219)) → TLASTC_IN_AG(T220, T221)

The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
TLASTC_IN_AG(x1, x2)  =  TLASTC_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TLASTC_IN_AG(T236, node(T233, T234, T237)) → TLASTC_IN_AG(T236, T237)
TLASTC_IN_AG(T220, node(T221, T218, T219)) → TLASTC_IN_AG(T220, T221)

R is empty.
The argument filtering Pi contains the following mapping:
node(x1, x2, x3)  =  node(x1, x3)
TLASTC_IN_AG(x1, x2)  =  TLASTC_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

TLASTC_IN_AG(node(T233, T237)) → TLASTC_IN_AG(T237)
TLASTC_IN_AG(node(T221, T219)) → TLASTC_IN_AG(T221)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • TLASTC_IN_AG(node(T233, T237)) → TLASTC_IN_AG(T237)
    The graph contains the following edges 1 > 1

  • TLASTC_IN_AG(node(T221, T219)) → TLASTC_IN_AG(T221)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TAPPENDB_IN_GAA(node(T171, T172, T175), T176, node(T171, T172, X339)) → TAPPENDB_IN_GAA(T175, T176, X339)
TAPPENDB_IN_GAA(node(T159, T156, T157), T160, node(X319, T156, T157)) → TAPPENDB_IN_GAA(T159, T160, X319)

The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
TAPPENDB_IN_GAA(x1, x2, x3)  =  TAPPENDB_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TAPPENDB_IN_GAA(node(T171, T172, T175), T176, node(T171, T172, X339)) → TAPPENDB_IN_GAA(T175, T176, X339)
TAPPENDB_IN_GAA(node(T159, T156, T157), T160, node(X319, T156, T157)) → TAPPENDB_IN_GAA(T159, T160, X319)

R is empty.
The argument filtering Pi contains the following mapping:
node(x1, x2, x3)  =  node(x1, x3)
TAPPENDB_IN_GAA(x1, x2, x3)  =  TAPPENDB_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

TAPPENDB_IN_GAA(node(T171, T175)) → TAPPENDB_IN_GAA(T175)
TAPPENDB_IN_GAA(node(T159, T157)) → TAPPENDB_IN_GAA(T159)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • TAPPENDB_IN_GAA(node(T171, T175)) → TAPPENDB_IN_GAA(T175)
    The graph contains the following edges 1 > 1

  • TAPPENDB_IN_GAA(node(T159, T157)) → TAPPENDB_IN_GAA(T159)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

S2TA_IN_GA(s(T33), node(nil, X96, X97)) → S2TA_IN_GA(T33, X97)
S2TA_IN_GA(s(T27), node(X66, X67, X66)) → S2TA_IN_GA(T27, X66)
S2TA_IN_GA(s(T39), node(X126, X127, nil)) → S2TA_IN_GA(T39, X126)

The TRS R consists of the following rules:

goalF_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2tA_in_ga(T19, X31))
s2tA_in_ga(s(T27), node(X66, X67, X66)) → U1_ga(T27, X66, X67, s2tA_in_ga(T27, X66))
s2tA_in_ga(s(T33), node(nil, X96, X97)) → U2_ga(T33, X96, X97, s2tA_in_ga(T33, X97))
s2tA_in_ga(s(T39), node(X126, X127, nil)) → U3_ga(T39, X126, X127, s2tA_in_ga(T39, X126))
s2tA_in_ga(s(T45), node(nil, X147, nil)) → s2tA_out_ga(s(T45), node(nil, X147, nil))
s2tA_in_ga(0, nil) → s2tA_out_ga(0, nil)
U3_ga(T39, X126, X127, s2tA_out_ga(T39, X126)) → s2tA_out_ga(s(T39), node(X126, X127, nil))
U2_ga(T33, X96, X97, s2tA_out_ga(T33, X97)) → s2tA_out_ga(s(T33), node(nil, X96, X97))
U1_ga(T27, X66, X67, s2tA_out_ga(T27, X66)) → s2tA_out_ga(s(T27), node(X66, X67, X66))
U13_gaa(T19, T13, T14, s2tA_out_ga(T19, X31)) → goalF_out_gaa(s(T19), T13, T14)
goalF_in_gaa(s(T19), T62, T63) → U14_gaa(T19, T62, T63, s2tA_in_ga(T19, T61))
U14_gaa(T19, T62, T63, s2tA_out_ga(T19, T61)) → U15_gaa(T19, T62, T63, pD_in_gaaaa(T61, X168, T62, X167, T63))
pD_in_gaaaa(T61, X168, T62, X167, T63) → U8_gaaaa(T61, X168, T62, X167, T63, tappendE_in_gaaa(T61, X168, T62, X167))
tappendE_in_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil)) → tappendE_out_gaaa(nil, X193, T71, node(node(nil, T71, nil), X193, nil))
tappendE_in_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil))) → tappendE_out_gaaa(nil, X213, T81, node(nil, X213, node(nil, T81, nil)))
tappendE_in_gaaa(T100, X251, T101, node(X252, X251, T100)) → U11_gaaa(T100, X251, T101, X252, tappendB_in_gaa(T100, T101, X252))
tappendB_in_gaa(nil, T108, node(nil, T108, nil)) → tappendB_out_gaa(nil, T108, node(nil, T108, nil))
tappendB_in_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122)) → tappendB_out_gaa(node(nil, T121, T122), T123, node(node(nil, T123, nil), T121, T122))
tappendB_in_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil))) → tappendB_out_gaa(node(T136, T137, nil), T138, node(T136, T137, node(nil, T138, nil)))
tappendB_in_gaa(node(T159, T156, T157), T160, node(X319, T156, T157)) → U4_gaa(T159, T156, T157, T160, X319, tappendB_in_gaa(T159, T160, X319))
tappendB_in_gaa(node(T171, T172, T175), T176, node(T171, T172, X339)) → U5_gaa(T171, T172, T175, T176, X339, tappendB_in_gaa(T175, T176, X339))
U5_gaa(T171, T172, T175, T176, X339, tappendB_out_gaa(T175, T176, X339)) → tappendB_out_gaa(node(T171, T172, T175), T176, node(T171, T172, X339))
U4_gaa(T159, T156, T157, T160, X319, tappendB_out_gaa(T159, T160, X319)) → tappendB_out_gaa(node(T159, T156, T157), T160, node(X319, T156, T157))
U11_gaaa(T100, X251, T101, X252, tappendB_out_gaa(T100, T101, X252)) → tappendE_out_gaaa(T100, X251, T101, node(X252, X251, T100))
tappendE_in_gaaa(T189, X363, T190, node(T189, X363, X364)) → U12_gaaa(T189, X363, T190, X364, tappendB_in_gaa(T189, T190, X364))
U12_gaaa(T189, X363, T190, X364, tappendB_out_gaa(T189, T190, X364)) → tappendE_out_gaaa(T189, X363, T190, node(T189, X363, X364))
U8_gaaaa(T61, X168, T62, X167, T63, tappendE_out_gaaa(T61, X168, T62, X167)) → pD_out_gaaaa(T61, X168, T62, X167, T63)
pD_in_gaaaa(T61, T64, T62, T65, T66) → U9_gaaaa(T61, T64, T62, T65, T66, tappendE_in_gaaa(T61, T64, T62, T65))
U9_gaaaa(T61, T64, T62, T65, T66, tappendE_out_gaaa(T61, T64, T62, T65)) → U10_gaaaa(T61, T64, T62, T65, T66, tlastC_in_ag(T66, T65))
tlastC_in_ag(T199, node(nil, T199, nil)) → tlastC_out_ag(T199, node(nil, T199, nil))
tlastC_in_ag(T220, node(T221, T218, T219)) → U6_ag(T220, T221, T218, T219, tlastC_in_ag(T220, T221))
tlastC_in_ag(T236, node(T233, T234, T237)) → U7_ag(T236, T233, T234, T237, tlastC_in_ag(T236, T237))
U7_ag(T236, T233, T234, T237, tlastC_out_ag(T236, T237)) → tlastC_out_ag(T236, node(T233, T234, T237))
U6_ag(T220, T221, T218, T219, tlastC_out_ag(T220, T221)) → tlastC_out_ag(T220, node(T221, T218, T219))
U10_gaaaa(T61, T64, T62, T65, T66, tlastC_out_ag(T66, T65)) → pD_out_gaaaa(T61, T64, T62, T65, T66)
U15_gaa(T19, T62, T63, pD_out_gaaaa(T61, X168, T62, X167, T63)) → goalF_out_gaa(s(T19), T62, T63)
goalF_in_gaa(s(T244), T13, T14) → U16_gaa(T244, T13, T14, s2tA_in_ga(T244, X434))
U16_gaa(T244, T13, T14, s2tA_out_ga(T244, X434)) → goalF_out_gaa(s(T244), T13, T14)
goalF_in_gaa(s(T244), T264, T265) → U17_gaa(T244, T264, T265, s2tA_in_ga(T244, T263))
U17_gaa(T244, T264, T265, s2tA_out_ga(T244, T263)) → U18_gaa(T244, T264, T265, tappendB_in_gaa(node(nil, X465, T263), T264, X464))
U18_gaa(T244, T264, T265, tappendB_out_gaa(node(nil, X465, T263), T264, X464)) → goalF_out_gaa(s(T244), T264, T265)
goalF_in_gaa(s(T244), T264, T268) → U19_gaa(T244, T264, T268, s2tA_in_ga(T244, T263))
U19_gaa(T244, T264, T268, s2tA_out_ga(T244, T263)) → U20_gaa(T244, T264, T268, tappendB_in_gaa(node(nil, T266, T263), T264, T267))
U20_gaa(T244, T264, T268, tappendB_out_gaa(node(nil, T266, T263), T264, T267)) → U21_gaa(T244, T264, T268, tlastC_in_ag(T268, T267))
U21_gaa(T244, T264, T268, tlastC_out_ag(T268, T267)) → goalF_out_gaa(s(T244), T264, T268)
goalF_in_gaa(s(T275), T13, T14) → U22_gaa(T275, T13, T14, s2tA_in_ga(T275, X495))
U22_gaa(T275, T13, T14, s2tA_out_ga(T275, X495)) → goalF_out_gaa(s(T275), T13, T14)
goalF_in_gaa(s(T275), T295, T296) → U23_gaa(T275, T295, T296, s2tA_in_ga(T275, T294))
U23_gaa(T275, T295, T296, s2tA_out_ga(T275, T294)) → U24_gaa(T275, T295, T296, tappendB_in_gaa(node(T294, X527, nil), T295, X526))
U24_gaa(T275, T295, T296, tappendB_out_gaa(node(T294, X527, nil), T295, X526)) → goalF_out_gaa(s(T275), T295, T296)
goalF_in_gaa(s(T275), T295, T299) → U25_gaa(T275, T295, T299, s2tA_in_ga(T275, T294))
U25_gaa(T275, T295, T299, s2tA_out_ga(T275, T294)) → U26_gaa(T275, T295, T299, tappendB_in_gaa(node(T294, T297, nil), T295, T298))
U26_gaa(T275, T295, T299, tappendB_out_gaa(node(T294, T297, nil), T295, T298)) → U27_gaa(T275, T295, T299, tlastC_in_ag(T299, T298))
U27_gaa(T275, T295, T299, tlastC_out_ag(T299, T298)) → goalF_out_gaa(s(T275), T295, T299)
goalF_in_gaa(s(T306), T317, T318) → U28_gaa(T306, T317, T318, pD_in_gaaaa(nil, X569, T317, X568, T318))
U28_gaa(T306, T317, T318, pD_out_gaaaa(nil, X569, T317, X568, T318)) → goalF_out_gaa(s(T306), T317, T318)
goalF_in_gaa(0, T331, T332) → U29_gaa(T331, T332, tappendB_in_gaa(nil, T331, X588))
U29_gaa(T331, T332, tappendB_out_gaa(nil, T331, X588)) → goalF_out_gaa(0, T331, T332)
goalF_in_gaa(0, T331, T336) → U30_gaa(T331, T336, tappendB_in_gaa(nil, T331, T335))
U30_gaa(T331, T336, tappendB_out_gaa(nil, T331, T335)) → U31_gaa(T331, T336, tlastC_in_ag(T336, T335))
U31_gaa(T331, T336, tlastC_out_ag(T336, T335)) → goalF_out_gaa(0, T331, T336)

The argument filtering Pi contains the following mapping:
goalF_in_gaa(x1, x2, x3)  =  goalF_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2tA_in_ga(x1, x2)  =  s2tA_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2tA_out_ga(x1, x2)  =  s2tA_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goalF_out_gaa(x1, x2, x3)  =  goalF_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
pD_in_gaaaa(x1, x2, x3, x4, x5)  =  pD_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappendE_in_gaaa(x1, x2, x3, x4)  =  tappendE_in_gaaa(x1)
nil  =  nil
tappendE_out_gaaa(x1, x2, x3, x4)  =  tappendE_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappendB_in_gaa(x1, x2, x3)  =  tappendB_in_gaa(x1)
tappendB_out_gaa(x1, x2, x3)  =  tappendB_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
pD_out_gaaaa(x1, x2, x3, x4, x5)  =  pD_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlastC_in_ag(x1, x2)  =  tlastC_in_ag(x2)
tlastC_out_ag(x1, x2)  =  tlastC_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
S2TA_IN_GA(x1, x2)  =  S2TA_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

S2TA_IN_GA(s(T33), node(nil, X96, X97)) → S2TA_IN_GA(T33, X97)
S2TA_IN_GA(s(T27), node(X66, X67, X66)) → S2TA_IN_GA(T27, X66)
S2TA_IN_GA(s(T39), node(X126, X127, nil)) → S2TA_IN_GA(T39, X126)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
node(x1, x2, x3)  =  node(x1, x3)
nil  =  nil
S2TA_IN_GA(x1, x2)  =  S2TA_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

S2TA_IN_GA(s(T33)) → S2TA_IN_GA(T33)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • S2TA_IN_GA(s(T33)) → S2TA_IN_GA(T33)
    The graph contains the following edges 1 > 1

(29) YES